package br.com.playonline.util.bolao;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class GeradorDeJogos extends Jogo {

	@Override
	public List<String> gerarJogos(Integer qtdJogos,Integer qtdNumeros, Integer numerosCartela, List<Integer> desdobramento, final List<Integer> sequenciaFixa) {
		List<Integer> sequenciaTrabalhada = new ArrayList<Integer>();
		List<String> jogos = new ArrayList<String>();
		if(desdobramento == null || desdobramento.size() == 0){
			desdobramento = addDesdobramentoSeNaoForPassadoNenhumDesdobramento(numerosCartela, desdobramento);
		}
		String jogoTransformado = "";
		for(int i = 0; i < qtdJogos; ){
			sequenciaTrabalhada = this.gerar(desdobramento, qtdNumeros, numerosCartela, sequenciaFixa);
			Collections.sort(sequenciaTrabalhada);
			jogoTransformado = transformarJogo(sequenciaTrabalhada); 
			if(!jogosContemJogo(jogoTransformado, jogos)){
				jogos.add(jogoTransformado);
				i++;
			}
			sequenciaTrabalhada = new ArrayList<Integer>();
		}
		Collections.sort(jogos);
		return jogos;
	}
}
